home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -serious- / sound / vocoder_m68k / readme.txt < prev    next >
Text File  |  1999-09-06  |  8KB  |  201 lines

  1. $Id: README.txt,v 1.5 1999/03/16 06:56:14 emanuel Exp $
  2.  
  3. ========================================================================
  4. Zerius Vocoder 1.2 README
  5. ------------------------------------------------------------------------
  6. Emanuel Borsboom <emanuel@zerius.com> March 1999
  7. ========================================================================
  8.  
  9. This program is used to make speech sound cool.  It imposes the vocal
  10. effects of speech onto another sound.  This technique has been made
  11. popular by artists such as Kraftwerk and Laurie Anderson.
  12.  
  13. ------------
  14. Installation
  15. ------------
  16.  
  17. If you are using the C source distribution, the first step is to
  18. compile the vocoder.  Uncompress the archive and glance over the
  19. Makefile, making sure the variables are all right.  The defaults
  20. should work for most UNIX environments.  Also check config.h and make
  21. sure that S32, U32, S16, and U16 are defined appropriately as signed
  22. and unsigned 32-bit and 16-bit integers, respectively.  The defaults
  23. should be fine for most 32-bit platforms.  Once finished, run 'make'
  24. to compile the vocoder.
  25.  
  26. Once you have the executable (or if you have downloaded a binary), you
  27. can copy it to the directory where you keep your binaries, or just run
  28. it where it is.
  29.  
  30. -----
  31. Usage
  32. -----
  33.  
  34. There are two ways to run the vocoder.  If it is run without any
  35. command-line arguments (by clicking on its icon in Windows, for example)
  36. it will ask you for the values of the parameters.  The meanings of the
  37. parameters follow in the next section.
  38.  
  39. To specify tho parameters on the command-line, use the following syntax:
  40.  
  41.         vocoder [-q] [-N] [-b <band-count>] [-w <window-length] 
  42.                 [-o <window-overlap>] [-v <volume>] 
  43.                 <modulator-file> <carrier-file> <output-file>
  44.  
  45. (Note: this version also supports the version 1.0 syntax in order
  46. to be compatible with already existing front ends).
  47.  
  48. ----------
  49. Parameters
  50. ----------
  51.  
  52. A detailed explanation of what these parameters mean is in the next
  53. section.
  54.  
  55. Modulator filename (<modulator-file>)
  56.     the path to a sound file that contains the modulator waveform
  57.     (required).
  58.  
  59. Carrier filename (<carrier-file>)
  60.     the path to a sound file that contains the carrier waveform
  61.     (required).
  62.  
  63. Window length (-w <window-length>)
  64.     the number of samples that will be analyzed at a time, and must
  65.     be a power of two (defaults to about 1/15th of a second worth of
  66.     samples).
  67.  
  68. Window overlap (-o <window-overlap>)
  69.     the number of samples that the windows will be overlapped
  70.     (defaults to one half of the window-length).
  71.  
  72. Band count (-b <band-count>)
  73.     the number of frequency bands that the carrier will be modulated
  74.     with (defaults to 16).
  75.  
  76. Output volume (-v <volume>)
  77.     the volume the output will be scaled by (defaults to 1.0).
  78.  
  79. Output filename (output-file)
  80.     is the path to the output sound file (required).
  81.  
  82. These options are only available on the command-line:
  83.  
  84. -N    turns off normalizing the output with respect to the carrier. 
  85.  
  86. -q    turns off any displays.
  87.  
  88. The input sound files must be mono, 8- or 16-bit linear, uncompressed
  89. AIFF or WAVE files.  The output sound file will have the same format
  90. as the modulator (regardless of the file extension you give it).
  91.  
  92. -----------
  93. Explanation
  94. -----------
  95.  
  96. This channel vocoder works by analyzing the frequencies in the
  97. modulator, splitting them into bands, finding the magnitude of each
  98. band, and then amplifying the corresponding bands of the carrier by
  99. that magnitude.
  100.  
  101. The modulator should simply be speech.  It works best of you speak
  102. very clearly and more slowly than usual.
  103.  
  104. The carrier should be some kind of frequency rich waveform.  White
  105. noise works well.  Periodic white noise (i.e. a very short sample of
  106. white noise) gives a "robot-like" sound.  Another one that sounds good
  107. is a synthesized string chord.  This waveform will automatically be
  108. looped.  You can get interesting results by having the waveform change
  109. over time.
  110.  
  111. Since what you pronounce changes over time, it would be pointless to
  112. analyze the entire modulator waveform and excite those frequencies in
  113. the carrier at once.  Instead, the program splits the modulator into
  114. "windows", which it processes one-at-a-time.  The window-length
  115. specifies how many samples are in each window.  You will want at least
  116. a few windows for every syllable.  If this number is too large, the
  117. output will be not be very understandable.  If it is too small, you
  118. will have other problems.  Around 1/15th of a second (or the sampling
  119. rate of the sound file divided by 15) tends to sound good, but
  120. experiment to find the right value.  To give you an example, anywhere
  121. from 512 to 2048 is okay for a modulator with a sampling rate of 44.1
  122. khz.  If you half the sampling rate, you should half the
  123. window-length, etc.  The window-length must be a power of two due to
  124. the technique that us used to analyze the frequencies.
  125.  
  126. For those of you who are unfamiliar with the term "power of two," it
  127. means a number that can be created by multiplying some number of two's
  128. together.  For example, the following numbers are the powers of two up
  129. to 4096:
  130.  
  131.         2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096
  132.  
  133. You get the next power of two by doubling the previous one.
  134.  
  135. Since the sound is processed in discrete windows, the output can
  136. change very abruptly where it goes from one chunk to the next.  This
  137. is audible as a click.  To remedy this, the program can have the
  138. windows overlap and cross-fade between them.  The window-overlap
  139. specifies how many samples of overlap there are between windows.
  140. 1/8th of the window-length tends to be a good starting point, but
  141. in many cases, one half of the window-length gives the best results.  
  142. This may not exceed half of the window-length.
  143.  
  144. In order to excite the frequencies in the carrier, the frequencies of
  145. the modulator are split into bands.  The larger your band-count, the
  146. more the output will sound like the modulator.  This number should
  147. evenly divide the chunk-length for the best results.  Somewhere
  148. between 8 and 64 usually sounds best.  The band-count may not exceed
  149. half of the window-length.
  150.  
  151. If you find that the output is clipped (distorted) or is too quiet,
  152. you can specify a value for the volume.  Anything less than one will
  153. reduce the volume, and anything greater than one will increase it.
  154.  
  155. While the defaults for the parameters generally produce decent
  156. results, the best results will be achieved by changing their values.
  157. The best way figure out all the numbers and what the best waveforms
  158. are is to experiment.  Have fun!
  159.  
  160. ----------------
  161. Closing Comments
  162. ----------------
  163.  
  164. Please see the web site at
  165.  
  166.         http://zerius.com/vocoder/
  167.  
  168. for the latest information.  The latest version will always be
  169. available from there, or from the FTP site at
  170.  
  171.         ftp://ftp.zerius.com/pub/zerius/vocoder/
  172.  
  173. If you have any problems, don't hesitate to contact me.  I am always
  174. pleased to help.  Also, drop me a line if like this program, or have
  175. any suggestions.  I am especially eager to hear your creations.  If
  176. you release some music utilizing the vocoder, please tell me so I can
  177. try to find it (freebies are always accepted)!  My e-mail address is
  178. emanuel@zerius.com.
  179.  
  180. Chanks to Cody Jones <cody@zerius.com> for porting to MacOS.
  181.  
  182. I appreciate any bug reports.
  183.  
  184. ---------
  185. Copyright
  186. ---------
  187.  
  188. The Zerius Vocoder is Copyright (C) 1996-1998 Emanuel Borsboom.
  189.  
  190. The FFT code (contained in fftn.c, fftaux.c, fft.h, and spt.h) is
  191. Copyright (C) 1993 Steven Trainoff.
  192.  
  193. The code for converting to and from IEEE floating-point numbers is
  194. Copyright (C) 1988-1991 Apple Computer Inc.
  195.  
  196. You are free to do whatever you like with the vocoder, as long as the
  197. copyright notice stays intact and you note any changes.
  198.  
  199. There is no warranty.
  200.  
  201.